使用按钮 (Button) 节点
使用按钮 (Button) 节点,通过点击、轻敲或按下键盘上的按键来创建交互。使用3D 按钮 (Button 3D) 可以创建 3D 按钮和2D 按钮 (Button 2D),以创建 2D 按钮。
Kanzi 允许您使用以下方法创建按钮:
这两种方法之间的差异是,当使用状态机时,您始终清楚按钮处于哪种状态。例如,当用户点击使用触发器和动作创建的按钮时,动作会发送消息,但您的应用程序不了解按钮的状态。当使用状态机时,您始终可以检查按钮处于哪种状态,必要时甚至可以反转按钮的状态。请参阅使用状态机。
当使用触发器和动作创建按钮且用户点击了按钮的可视呈现时,动作会生成一条消息并将其发送给按钮节点,您可以在按钮节点中定义消息的行为。
当创建 按钮 (Button) 节点时,Kanzi 默认会为节点添加 按钮: 点击 (Button:Click) 触发器。当一个按钮 (Button) 节点有焦点时,接收来自键盘按键 Space、Enter 和数字键盘上 Enter 的输入。使用脚本函数来获取和设置当前在工程中具有焦点的节点。请参阅脚本参考和使用触发器。
您也可以为按钮 (Button) 节点添加另一个触发器。例如,您可以添加一些在用户按下鼠标中键或取消点击时触发的消息。请参阅使用触发器。
当您创建按钮时,按钮并不具备可视形状。要让按钮可见,为该按钮添加一个带内容的节点。您还可以用笔刷填充其背景让2D 按钮 (Button 2D) 节点可见。请参阅调整 2D 节点的外观。
要学习如何创建按钮,请完成按钮教程。请参阅教程:创建按钮。
创建按钮
要创建按钮:
- 在工程 (Project) 中按下 Alt 并右键点击 要在其中创建按钮的那个节点,然后选择3D 按钮 (Button 3D) 或2D 按钮 (Button 2D)。
请注意,只能在 3D 节点内创建 3D 节点,只能在 2D 节点内创建 2D 节点。
- 在 工程 (Project) 中,为按钮添加可视形状。
例如,如果您创建了 3D 按钮,请添加方框 (Box),如果您创建了 2D 按钮,请添加 图像 (Image)。
- 在工程 (Project) 中,选择按钮,然后在节点组件 (Node Components) > 触发器 (Triggers) 部分中的按钮: 点击 (Button:Click) 触发器中点击 下拉菜单并选择一个动作。
例如,选择写入日志 (Write Log) 动作并将其日志消息 (Log Message) 属性设置为 <Name>。
在预览 (Preview) 中,当点击按钮的可视呈现时,写入日志 (Write Log) 动作会将节点的名称写入到日志 (Log) 窗口中。
- (可选)使用 Kanzi 附带的 按钮 (Button) 触发器来定义 按钮 (Button) 节点的行为。请参阅使用触发器和按钮触发器。
控制按钮 (Button) 节点的行为
在 Kanzi 中,要控制按钮 (Button) 节点的行为,您可以:
使用状态机设置按钮的状态
使用状态机定义 按钮 (Button) 节点如何响应用户输入。例如,您可以设置当用户按下或松开按钮时按钮的外观。要了解如何使用状态机,请参阅教程:使用状态机控制您的应用程序和使用状态机。要详细了解如何使用状态机创建按钮,请参阅教程:创建按钮。
要使用状态机设置按钮的状态:
- 在工程 (Project) 中,选择要为其创建状态的按钮 (Button) 节点,并在状态工具 (State Tools) 中为节点创建状态机。
- 创建两个状态,一个用于定义按下按钮时的状态,一个用于定义松开按钮时的状态。
- 对于每种状态,设置用于设置 按钮 (Button) 节点可视形状的属性的值。
例如,要设置按下2D 按钮 (Button 2D) 节点时的节点状态,请在图像 (Image) 节点中将图像 (Image) 属性设置为您希望在按下按钮时使用的图像。
- 在用于控制按钮 (Button) 状态的状态机的状态工具 (State Tools) 中,将控制器属性 (Controller Property) 设置为为向下 (Is Down)。
在状态机中,您为控制器属性 (Controller Property) 选择的属性值定义状态组中的各个状态处于活动状态时的条件。
您可以在这里使用为向下 (Is Down) 属性迁移到基于该属性值的状态。为向下 (Is Down) 属性用于控制按钮 (Button) 节点是处于按下还是未按下状态。
- 在状态工具 (State Tools) 中将状态为Pressed 的控制器属性 (Controller Property) 的值设为 True。这样您的 Kanzi 应用程序在按钮按下时使用Pressed 状态,在按钮未按下时使用Released 状态。
- 在状态工具 (State Tools) 中点击编辑状态机 (Edit State Manager) 停用状态工具 (State Tools)。
使用按钮 (Button) 触发器
使用 Kanzi 附带的 按钮 (Button) 触发器来定义 按钮 (Button) 节点的行为。要详细了解如何使用触发器,请参阅使用触发器。
-
按钮: 取消 (Button: Cancel) 触发器会触发:
- 用户先按下按钮,然后将指针移到按钮区域之外,然后松开指针。
- 用户触发 按钮: 长按 (Button: Long Press) 触发器时。
- 指针仍在按钮区域内用户按下而后松开按钮,即会触发 按钮: 点击 (Button:Click) 触发器。
- 按钮: 向下 (Button: Down) 触发器会在用户按下按钮时触发。
-
按钮: 输入 (Button: Enter) 触发器会触发:
- 用户按下按钮时。
- 用户按下按钮,将指针移动到按钮区域之外,然后在按住指针的同时将指针移回到按钮区域。
-
按钮: 离开 (Button: Leave) 触发器会触发:
- 用户按下按钮,然后提起指针时。
- 用户按下按钮,然后将指针移到按钮区域之外时。
- 用户触发 按钮: 长按 (Button: Long Press) 触发器时。
- 当用户按下按钮,保持该按钮的按住间隔 (Hold Interval) 属性中定义的毫秒数,即触发按钮: 长按 (Button: Long Press) 触发器。
为按钮 (Button) 节点启用双击手势
使用双击手势可以使用户在 Kanzi 应用程序中双击或双敲按钮。使用 多击 (Multi Click) 触发器响应双击手势。例如,您可以更改用户双击或双敲按钮 (Button) 节点时的节点外观。
默认情况下,如果两次点击在 250 毫秒之间,Kanzi 将其视为双击手势。要使用不同的时间,使用 Kanzi Engine API 创建并配置多击操纵器。请参阅使用多击操纵器。
要为 按钮 (Button) 节点启用双击手势:
- 在工程 (Project) 中,选择要启用双击手势的按钮 (Button) 节点,然后在属性 (Properties) 中将双击已启用 (Double-Click Enabled) 属性设置为启用。
- 在节点组件 (Node Components) > 触发器 (Triggers) 部分添加 多击 (Multi Click) 触发器。
- 在节点组件 (Node Components) > 触发器 (Triggers) 部分点击多击 (Multi Click) 触发器的 下拉菜单,选择一个动作,并配置该动作。请参阅使用触发器和 动作参考。
设置 2D 按钮 (Button 2D) 节点的外观
要设置 2D 节点的外观:
在 API 中使用 3D 按钮 (Button 3D) 节点
有关详细信息,请参阅 API reference中的 Button3D
类。
在 API 中使用 2D 按钮 (Button 2D) 节点
有关详细信息,请参阅 API reference中的 Button2D
类。
按钮 (Button) 属性类别和消息
要查看 按钮 (Button) 节点可用属性类别和消息的完整列表,请参阅 Button 2D 和 Button 3D。
另请参阅
教程:创建按钮
使用切换按钮 (Toggle Button) 节点
使用切换按钮组 (Toggle Button Group) 节点
按钮
教程:使用状态机控制您的应用程序
使用状态机
使用触发器
使用多击操纵器
打开导航